home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48hor2
/
qix.dir
< prev
next >
Wrap
File List
|
1993-02-18
|
4KB
|
332 lines
%%HP: T(3)A(D)F(.);
DIR
SETUP
\<<
"Building:\010LINEON" 1 DISP
"CODE
**LineOn**************
Toggle EQU 0
On EQU 1
Off EQU 0
INCLUDE LINEBODY
ENDCODE"
\->RPL 'LINEON' STO
"LINEOFF" 2 DISP
"CODE
**LineOff*************
Toggle EQU 0
On EQU 0
Off EQU 1
INCLUDE LINEBODY
ENDCODE"
\->RPL 'LINEOFF' STO
"Fast QIX" 2 DISP
1 QIX.S \->RPL 'QIXF' STO
{ LINEON LINEOFF } PURGE
"Slow QIX" 2 DISP
0 QIX.S \->RPL 'QIXS' STO
"DISPM" 2 DISP
DISPM.S \->RPL 'DISPM' STO
"Well, let's take a\010look at the results.\010\010The show begins...\010\010\010\010"
1 DISP 5 WAIT
"HM, THIS IS A REAL SLOOOW QIX" DISPM QIXS
"WHAT ABOUT THIS ONE...?" DISPM QIXF
{ DISPM } PURGE
\>>
QIX.S
\<<
"(QIX.S)
::
CK0NOLASTWD
ClrDA1IsStat
RECLAIMDISP
THREE # FFFFB
# FFFFB THREE
TWENTYEIGHT TWENTY
SIXTEEN TEN
' NULLLAM EIGHT NDUPN
DOBIND 150
ZERO_DO
1GETLAM 2GETLAM
3GETLAM 4GETLAM
ORDERXY# FOUR {}N
DUP INCOMPDROP
"
IF OVER THEN
" INCLOB" +
END
" LINEON
INDEX@ TEN #< ?SKIP
::
ELEVEN ROLL INCOMPDROP
"
+
IF SWAP THEN
" INCLOB" +
END
" LINEOFF
;
1GETLAM 5GETLAM #+
DUP BINT_130d #>ITE
::
DROP ZERO 5GETLAM
#- 5PUTLAM
;
1PUTLAM
2GETLAM 6GETLAM #+
DUP FIFTYFIVE #>ITE
::
DROP ZERO 6GETLAM
#- 6PUTLAM
;
2PUTLAM
3GETLAM 7GETLAM #+
DUP BINT_130d #>ITE
::
DROP ZERO 7GETLAM
#- 7PUTLAM
;
3PUTLAM
4GETLAM 8GETLAM #+
DUP FIFTYFIVE #>ITE
::
DROP ZERO 8GETLAM
#- 8PUTLAM
;
4PUTLAM
GETTOUCH IT
::
DROP ExitAtLOOP
;
ATTN? IT
ExitAtLOOP
LOOP
ATTNFLGCLR
FLUSHKEYS
ABND 5DROP 5DROP
RECLAIMDISP
;"
+
\>>
LINEBODY
"sFlag EQU 5
GOSUB Pop#
R3=A
GOSUB Pop#
R2=A
GOSUB Pop#
R1=A
GOSUB Pop#
R0=A
GOSBVL =SAVPTR
D0=(5) =VDISP
A=DAT0 A
D0=A
A=R0
C=R2
C=C-A A
GONC dxok
GOTO Exit
dxok R2=C
D0=D0+ 15
LC(5) 34
D=C A
D0=D0+ 5
A=R1
B=0 A
BCEX A
Mul2 B=B-1 P
GOC Mul3
C=C+A A
GOTO Mul2
Mul3 ASL A
P=P+1
?P# 5
GOYES Mul2
P= 0
A=R0
ASRB.F A
ASRB.F A
A=A+C A
CD0EX
C=C+A A
D0=C
A=R0
LC(1) 3
C=C&A B
C=C+CON B,13
P=C 0
LC(4) #1248
P=C 0
C=P 1
P= 0
B=C B
IFNE Off
B=-B-1 B
ENDIF
A=R1
C=R3
C=C-A A
GONC tstdxy
D=-D A
C=-C A
tstdxy
ST=0 sFlag
A=R2
?C=A A
GOYES dxeqdy
?A=0 A
GOYES dxeq0
?C#0 A
GOYES dxgtdy?
D1=A
GONC dx1dy0
dxeq0
ST=1 sFlag
D1=C
dx1dy0
A=0 A
A=A+1 A
C=0 A
GONC dxdycok
dxeqdy
D1=A
A=0 A
C=0 A
GOC dxdycok
Exit GOVLNG =GETPTRLOOP
dxgtdy?
?C<A A
GOYES dxdyok
ST=1 sFlag
ACEX A
dxdyok
D1=A
dxdycok
R2=A
R3=C
ASRB.F A
R4=A
plot A=DAT0 1
IFNE On
A=A!B B
ENDIF
IFNE Off
A=A&B B
ENDIF
IFNE Toggle
C=A B
A=A!B B
C=C&B B
A=A-C B
ENDIF
DAT0=A 1
D1=D1- 1
GOC Exit
A=R4.F A
C=R3.F A
A=A+C A
R4=A.F A
C=R2.F A
?ST=1 sFlag
GOYES allwy
?A<C A
GOYES xstep
A=A-C A
R4=A.F A
CD0EX
C=C+D A
D0=C
xstep
B=B+B B
IFNE (On)+(Toggle)
GONC plot
LC(2) #11
ENDIF
IFNE Off
GOC plot
LC(2) #EE
ENDIF
B=C B
D0=D0+ 1
GONC plot
allwy
?A<C A
GOYES ystep
A=A-C A
R4=A.F A
B=B+B B
IFNE (On)+(Toggle)
GONC ystep
LC(2) #11
ENDIF
IFNE Off
GOC ystep
LC(2) #EE
ENDIF
B=C B
D0=D0+ 1
ystep
CD0EX
C=C+D A
D0=C
GOTO plot
Pop# GOVLNG =POP#
**********************"
DISPM.S
"(DISP.S)
::
CK1NoBlame
DUPTYPECSTR?
NcaseTYPEERR
DispCoord1
;"
END